#include <bits/stdc++.h>

using namespace std;

class Solution1 {
    public:
	bool helper(vector<int> &v,int i,int j){
		if(i>=j) return true;
		int p=i;
		while(v[p]<v[j]) p++;
		int m=p;
		while(v[p]>v[j]) p++;
		return p==j && helper(v,i,m-1) && helper(v,m,j-1);
	}
        bool verifyPostorder(vector<int>& postorder) {
		return helper(postorder,0,postorder.size()-1);
	}
};
class Solution {
public:
bool verifyPostorder(vector<int>& postorder) {
		stack<int> s;
		int len=postorder.size();
		int root=INT32_MAX;
			for(int i=len-1;i>=0;i--){
				if(postorder[i]>root) return false;
					while(!s.empty() && s.top() > postorder[i]){
						root=s.top();
						s.pop();
					}
					s.push(postorder[i]);
			}
		return true;
	}
};




int main(){




    return 0;
}
